package logic.projectiles;

import java.net.URL;

import javax.swing.ImageIcon;

import logic.entities.GameObject;
import logic.pruebas.GamePanel;

/**
 * @author Unai
 * Clase abstracta base para todos los proyectiles
 *
 */
public class Projectile extends GameObject{
	private static final long serialVersionUID = 5510123965113012220L;
	public float gravity = 1000f;
	public boolean falling = false;
	public boolean impacted = false;
	public float velX;
	public float velY = 0;
	public boolean friendly;
	public int damage;
	
	/**
	 * @param x
	 * @param y
	 * @param panel
	 * @param nomImg
	 */
	public Projectile(float x, float y, GamePanel panel, String nomImg) {
		super(x, y, panel, nomImg);
		// TODO Auto-generated constructor stub
	}
	
	/**
	 * Mueve el proyectil
	 */
	public void update() {
		float tiempoTranscurridoEnSegundos = 
				(System.currentTimeMillis() - ultimoDibujo) / 1000.0F;
		if (tiempoTranscurridoEnSegundos > 0.01F) {
			if (falling) {
		
			velY = velY + gravity * tiempoTranscurridoEnSegundos;
			}
			coorX = coorX+velX * tiempoTranscurridoEnSegundos;
			coorY = coorY+velY * tiempoTranscurridoEnSegundos;
			dibujar();
		}
	}
	
	/**
	 * @param nomImg
	 * Actualiza la visualizacion del priyectil
	 */
	public void updateIcon (String nomImg) {
		URL imgURL = getClass().getClassLoader().getResource(nomImg);
		icono = new ImageIcon(imgURL);
		setIcon( icono );
		setSize(icono.getIconWidth(), icono.getIconHeight());
	}

}
